/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"D7AB9EFD-FD8B-4EFC-B226-6C3CA6951111",variableType:4}
 */
var tipo_proveedor = null;

/**
 *
 * @properties={typeid:24,uuid:"09CF4453-3FDB-4A1E-A648-0719CD412EDA"}
 */
function Iniciar() 
{
	globals.gProveedorDesdeNombre = null
	globals.gProveedorHastaNombre = null
	//sugerir el ultimo mes para el rango de fechas
	globals.gFechaHasta 	= application.getServerTimeStamp()
	globals.gFechaDesde 	= application.getServerTimeStamp()
	globals.gFechaDesde 	= globals.gFechaDesde.setDate (globals.gFechaHasta.getDate() - 30);
	globals.gFechaAux 		= application.getServerTimeStamp()
	globals.gvalor_variable	= null;
	tipo_proveedor			= globals.gproveedor_o_fletero;
	globals.titulos_resumen(); //22/07/2010
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"F5A97206-0581-4E00-95FF-E1A9B83DE5E3"}
 * @AllowToRunInFind
 */
function Ira_resumen(event) 
{
 // trata ambos resumenes juntos preguntando desde cual boton se llamó
		if (event.getElementName() == 'cuenta')
		var mensajito='Resumen de cuenta';
	else
		var mensajito='Resumen de saldos';
	if (globals.gProveedorDesdeNombre == null)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Debe elegir Proveedor Desde para ir a ' + mensajito ,'OK')
		elements.proveedor.requestFocus()
		return false;
	}
	if (globals.gProveedorHastaNombre == null)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Debe elegir Proveedor Hasta para ir a ' + mensajito,'OK')
		elements.gProveedorHasta.requestFocus()
		return false;
	}
	globals.DIALOGS.showWarningDialog('Aviso','El proceso de ' + mensajito + ' de Proveedores puede demorar. Por favor pulse OK y espere  . . .','OK')
	
	databaseManager.revertEditedRecords();
	databaseManager.setAutoSave(true);
	
	globals.gtotal_saldo = 0; // 19/07/2010  para acumular total general de todos los proveedores
	
	/** @type {JSFoundSet<db:/infocom/proveedor>}*/
	var fs_proveedor=databaseManager.getFoundSet(databaseManager.getDataSourceServerName(controller.getDataSource()),'proveedor')
	var estado = fs_proveedor.find();
	if (estado == false)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Falló find de proveedores','OK')	
		return false;
	}	
	fs_proveedor.es_fletero 	= tipo_proveedor;
	fs_proveedor.razon_social 	= '>='+ globals.gProveedorDesdeNombre;
	fs_proveedor.razon_social 	= '<='+ globals.gProveedorHastaNombre;
	//fs_proveedor.razon_social=globals.gProveedorDesdeNombre+'...'+globals.gProveedorHastaNombre
	var found = fs_proveedor.search();
	if (found == 0)
	{
		globals.DIALOGS.showWarningDialog('Aviso',"No encontró Proveedores (find)",'OK')	
		return false;	
	}
	else
	{		
		var PDFs = new Array(); //CREO array para guardar los nombres de los pfd de cada proveedor      
		var carpeta='c:/resumenes_pdf'; //CREO LA CARPETA PARA DEJAR EL RESUMEN
		var carpeta_temp='c:/resumenes_pdf/temp_' + globals.gLoginUserv; //CREO LA CARPETA TEMPORAL CON TODOS LOS PDF
		plugins.file.createFolder(carpeta);
		plugins.file.createFolder(carpeta_temp);
		fs_proveedor.sort('razon_social asc,proveedor_id asc');
		var cuantos = fs_proveedor.getSize();
		for (var j=1 ; j <= cuantos; j++)
		{
			////////////  traido de resumen_3     desde
			fs_proveedor.setSelectedIndex(j);
			var estado = foundset.find();
			if (estado == false)
			{
				globals.DIALOGS.showWarningDialog('Aviso',"No encontró movimientos en Cta. Cte. (1º find)",'OK')	
				return false;
			}
			//busca desde el inicio para calcular saldo para el proveedor///
			foundset.proveedor_id=fs_proveedor.proveedor_id
			//busca desde el inicio para calcular saldo///////////////////
			var d1 = new Date (0000,00,00)
			d1.setHours(00);
			d1.setMinutes(00);
			d1.setSeconds(00);             
			var df1 = utils.dateFormat(d1, 'dd-MM-yyyy HH:mm:ss')
			var d2 = globals.gFechaHasta
			d2.setHours(23);
			d2.setMinutes(59);
			d2.setSeconds(59);
			var df2 = utils.dateFormat(d2, 'dd-MM-yyyy HH:mm:ss')
			foundset.fecha_mov=df1+'...' + df2+'|dd-MM-yyyy HH:mm:ss'  
			var found = foundset.search();
			if (found != 0)
			{ 
				// ordenar por fecha del mov.  //01/07/2010 
				foundset.sort('proveedor_id asc,fecha_mov asc') //01/07/2010 si chequeo el resultado da siempre undefined
				
				globals.gsaldo_aux=0.000
				globals.gsaldo_resumen_aux=0.000
				for (var i=1 ; i <= foundset.getSize(); i++)
				{
					foundset.setSelectedIndex(i)
					globals.gsaldo_aux+=importe_signo
					foundset.saldo_aux=globals.gsaldo_aux
					if (event.getElementName()=='saldo')
					{
						if (foundset.saldo > 0.00)  
						{
							globals.gsaldo_resumen_aux+=saldo_signo;
							foundset.saldo_resumen_aux=globals.gsaldo_resumen_aux
						}
						else
						{
							foundset.saldo_resumen_aux=globals.gsaldo_resumen_aux
						}	
					}
				}
				//Buscar Rango de Fechas pedido //////////////////////////////
				var estado = foundset.find();
				if (estado == false)
				{
					globals.DIALOGS.showWarningDialog('Aviso',"No encontró movimientos (2º find)",'OK')	
					return false;
				}
				//foundset.proveedor_id=globals.gProveedorDesde
				if (event.getElementName()=='cuenta')
				{
					var d1 = globals.gFechaDesde
					d1.setHours(00);
					d1.setMinutes(00);
					d1.setSeconds(00);             
					var df1 = utils.dateFormat(d1, 'dd-MM-yyyy HH:mm:ss')
					var d2 = globals.gFechaHasta
					d2.setHours(23);
					d2.setMinutes(59);
					d2.setSeconds(59);
					var df2 = utils.dateFormat(d2, 'dd-MM-yyyy HH:mm:ss');
					foundset.fecha_mov=df1+'...' + df2+'|dd-MM-yyyy HH:mm:ss';
				}
				else
				{
					foundset.saldo = '>0.00' ;
				}
				var found = foundset.search(false); 
				
				if (found == 0)
				{
					globals.gsaldo_aux=0.000
				} 
				else
				{
					if (event.getElementName()=='saldo')
					{
					// direfencia entre saldos en valor absoluto 12/07/2010
					var dife = Math.abs(globals.gsaldo_aux-globals.gsaldo_resumen_aux)
					if (dife > 1)    // arma mensaje para el listado
						forms.resumen_todos_4.fMensaje = 'HAY DIFERENCIA DE $' + dife + '  Historico:$' + globals.gsaldo_aux + '  Saldo:$' + globals.gsaldo_resumen_aux;
					globals.gtotal_saldo+=globals.gsaldo_resumen_aux; // 19/07/2010
					}
					else
					{
						globals.gtotal_saldo+=globals.gsaldo_aux; // 19/07/2010
					}
					
					// titulo variable para listado
					if(tipo_proveedor==1)
					{
						globals.gresu_titu_1='Fleteros';
						globals.gresu_titu_2='Fletero';
					}
					else
					{
						globals.gresu_titu_1='Proveedores';
						globals.gresu_titu_2='Proveedor';
					}
						
					//ARMO NOMBRE DEL PDF DE CADA PROVEEDOR
					var nombre_pdf = carpeta_temp+'/'+fs_proveedor.proveedor_id+'.pdf';
					if (event.getElementName()=='cuenta')
					//CREO EL PDF
						forms.resumen_todos_3.controller.print(false,false,plugins.pdf_output.getPDFPrinter(nombre_pdf));
					else
						forms.resumen_todos_4.controller.print(false,false,plugins.pdf_output.getPDFPrinter(nombre_pdf));
					//GUARDO en un array los nombres de todos los pds para luego unirlos al terminar 		
					PDFs[j] = plugins.file.readFile(nombre_pdf);
				}
			}  //fin del primer search ctacte
		}  //fin del for
		
		// 19/07/2010  armo pdf final con total del resumen     //? ver con Andy
		var nombre_pdf=carpeta_temp+'/'+'total_gral.pdf';//19/07/2010
		forms.resumen_todos_5.controller.print(true,false,plugins.pdf_output.getPDFPrinter(nombre_pdf));//19/07/2010
		PDFs[j] = plugins.file.readFile(nombre_pdf); //19/07/2010
		// 19/07/2010   hasta
		
		var fechita=utils.dateFormat(new Date(),'dd-MM-yyyy HH-mm-ss');  	
		//COMBINO LOS PDF EN UN SOLO	tomando los nombres de los pdfs del array
		var pdf = plugins.pdf_output.combinePDFDocuments( PDFs)
		if (event.getElementName()=='cuenta')
		{// arma nombre del resumen de cuenta
		if(tipo_proveedor==1)
				var nombre_resumen=carpeta+'/FleterosResumenCuenta'+fechita+'.pdf';
			else
				var nombre_resumen=carpeta+'/ProveedoresResumenCuenta'+fechita+'.pdf';
		}
		else
		{// arma nombre del resumen de saldos
			if(tipo_proveedor==1)
				var nombre_resumen=carpeta+'/FleterosResumenSaldos'+fechita+'.pdf';
			else
				var nombre_resumen=carpeta+'/ProveedoresResumenSaldos'+fechita+'.pdf';
		}
		plugins.file.writeFile(nombre_resumen, pdf)
		//BORRO LA CARPETA TEMPORAL CON TODOS LOS PDF
		plugins.file.deleteFolder(carpeta_temp,false);
		application.showURL('file:///' + nombre_resumen)  // 02/08/2010 
		Iniciar();
	}
	return true
}

/**
 * Handle changed data.
 *
 * @param {Object} oldValue old value
 * @param {Object} newValue new value
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"FBCBBA84-3340-49C3-BB47-5C7092D945BF"}
 */
function onDataChange_tipo_proveedor(oldValue, newValue, event) 
{
	if(tipo_proveedor == 1)
	{
		globals.gvalor_variable = 1
		return true;
	}
	if(tipo_proveedor == 0)
	{
		globals.gvalor_variable = 0;
		return true;
	}
	globals.gvalor_variable = null;
	return true
}
